The demand for multitenant systems is mounting as cloud environment spreads. The multitenant system refers to a system having a mechanism that allows a plurality of users and a plurality of tenants (e.g., business firms) to share and use the same server or the same database in a manner such that the users and the tenants are free from mutual interference. In the discussion that follows, the user and the tenant are simply referred to as a user. Not only the server and storage but also a relay apparatus is required to support multitenant feature.
FIG. 1 illustrates a system configuration of a system in the multitenant environment. Connected to a relay apparatus in FIG. 1 are application servers X-Z, user terminal C, and a gateway apparatus. The gateway apparatus is connected to user terminals A and B. Users respectively operating the user terminals A-C share the application servers X-Z. The relay apparatus relays requests from the user terminals A-C to the application servers X-Z, and responses from the application servers X-Z to the user terminals A-C.
In such a multitenant system, information identifying the user is difficult to obtain from each packet if a message with a payload of at least one packet assembled is not generated. For example, authentication information and a user certificate written in a uniform resource locator (URL) and a cookie of a hyper text transfer protocol (HTTP) header are not obtained without assembling messages.
If information identifying the user is not obtained without assembling the message, a relay apparatus processing only the packets has difficulty in identifying the user. The relay apparatus also has difficulty in performing a relay process on a per user basis. In such a case, an application server side is forced to perform a filtering process such as a firewall, and a statistical information collection process of statistical information used for billing each user for band usage. The workload on the sever side increases.
Techniques called cut-through and store-and-forward are available. In the store-and-forward technique, an entire Media Access Control (MAC) frame is stored and the content of the MAC frame is verified before the MAC frame is transferred. In the cut-through technique, the MAC frame is only partially checked before being transferred. The cut-through technique is performed on individual MAC frames. A variety of types of cut-through techniques are present but none of the techniques overcome the above-described problem.
The relay apparatus desirably performs the filtering process and the statistical information collection process of statistical information used for billing each user for band usage without imposing an additional workload on the server. Since the relay apparatus of FIG. 1 is installed between a plurality of user terminals and a plurality of application servers, the number of packets to be relayed is large. If messages are simply assembled for all the relay packets, the relay apparatus becomes a bottleneck, leading to a decrease in throughput.